package com.css.fxfzysx.modules.vabStructure.service;

import com.css.fxfzysx.base.response.RestResponse;
import com.css.fxfzysx.modules.cztDataMange.entity.CbhdInfoEntity;
import com.css.fxfzysx.modules.vabStructure.entity.CztBuildingMatrixEntity;
import com.css.fxfzysx.modules.vabStructure.param.BuildingStructureParam;
import com.css.fxfzysx.modules.vabStructure.param.CustomVulnerabilityParam;
import com.css.fxfzysx.modules.vabStructure.vo.GenerateVulnerabilityMatrixVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;

public interface SvAnalysisService {
    RestResponse generateVulnerabilityMatrix(String ids,Integer type);

    RestResponse queryBuildings(CbhdInfoEntity cbhdInfoEntity, HttpServletRequest request);

    void exportMatrix(String ids, HttpServletResponse response,Integer type);

    RestResponse queryBuildingStructure(BuildingStructureParam buildingStructureParam);

    RestResponse queryPredictiveData(CbhdInfoEntity cbhdInfoEntity, HttpServletRequest request);

    RestResponse queryFilterData(CbhdInfoEntity cbhdInfoEntity, HttpServletRequest request);

    boolean queryAdmin();

    RestResponse getVulnerabilityMatrix(CztBuildingMatrixEntity cztBuildingMatrixEntity, HttpServletRequest request);

    RestResponse matrix(String matrixId);

    RestResponse getDataById(String dataId, String dataType,String number);

    RestResponse moveBasicLibrary(CustomVulnerabilityParam param);

    void generatedExportMatrix(HttpServletResponse response, String matrixId);

    RestResponse deleteBasicLibrary(String ids);

    RestResponse recalculate(HashMap<String,String> map);
}
